package com.sugon.modules.device.service;

import com.sugon.entity.DevMaintenPlanEntity;
import com.sugon.modules.base.model.vo.BaseApproveParamVO;

import java.util.List;

/**
 * @author ： YuXD
 * @description： 设备维护规程业务Manager
 * 1、处理车间设备技术室主任对维护规程的审批
 * 2、制造处设备技术室主任审批
 * @date ： 2020-10-12 15:39
 * @version: 1.0
 */
public interface IDeviceMaintenanceRuleManager {

    /**
     * 删除设备维护规程项
     *
     * @param id 维护规程项ID
     * @return 返回变动的规程信息
     */
    DevMaintenPlanEntity deleteMaintenanceRuleOption(String id);

    /**
     * 对已有的设备维护规程进行克隆，排除掉需要排除的，添加需要新增的
     *
     * @param devPmRuleId       设备维护规程iD
     * @param excludePmItemList 需要排除的设备维护项ID列表
     * @param addPmItemList     需要添加的设备维护项ID列表
     * @return
     */
    DevMaintenPlanEntity cloneDevPmRule(String devPmRuleId, List<String> excludePmItemList, List<String> addPmItemList);

    /**
     * 删除自主维护规程项
     *
     * @param id 自主维护规程项ID
     * @return
     */
    boolean deleteAmRulesOption(String id);

    /**
     * 车间-设备技术室批量审批设备维护规程
     *
     * @param baseApproveParam 基础审批参数
     * @return
     */
    boolean workshopBatchApprove(BaseApproveParamVO baseApproveParam);

    /**
     * 制造处-设备技术室批量审批设备维护规程
     *
     * @param baseApproveParam 基础审批参数
     * @return
     */
    boolean peBatchApprove(BaseApproveParamVO baseApproveParam);

}
